Page({
    data: {
        counselorInfo: {}, // 咨询师基本信息
        counselorTalents: [], // 擅长领域
        priceStandards: [], // 收费标准
        leaveWords: [], // 留言
        evaluations: [], // 评价
        courses: [], // 课程列表
        articles: [], // 文章列表
        baseUrl: 'http://localhost:8080', // 服务器基础域名
        counselorId: null // 咨询师ID
    },

    onLoad(options) {
        const { id } = options;
        this.setData({ counselorId: id });
        // 并行发起请求
        this.getCounselorBaseInfo(id);
        this.getCounselorCourses(id);
        this.getCounselorArticles(id);
    },

    // 处理图片路径（兼容完整路径和相对路径）
    handleImageUrl(url) {
        if (!url) return ''; // 空路径直接返回
        // 若已包含http，则无需拼接（适配后端返回的完整路径）
        return url.startsWith('http') ? url : `${this.data.baseUrl}${url}`;
    },

    // 1. 获取咨询师基本信息（含关联数据）
    getCounselorBaseInfo(id) {
        wx.request({
            url: `${this.data.baseUrl}/counselor/${id}`,
            method: 'GET',
            success: (res) => {
                console.log("咨询师信息返回：", res.data);
                if (res.data.code === 200 && res.data.data) {
                    const baseData = res.data.data;
                    // 处理头像路径（接口已返回完整路径，这里做兼容处理）
                    baseData.headImageUrl = this.handleImageUrl(baseData.headImageUrl);
                    // 处理评价中的用户头像
                    if (baseData.evaluations && baseData.evaluations.length) {
                        baseData.evaluations.forEach(evalItem => {
                            if (evalItem.user?.avatarUrl) {
                                evalItem.user.avatarUrl = this.handleImageUrl(evalItem.user.avatarUrl);
                            }
                        });
                    }
                    // 更新数据（严格对应接口返回的字段）
                    this.setData({
                        counselorInfo: baseData,
                        counselorTalents: baseData.counselorTalents || [],
                        priceStandards: baseData.priceStandards || [],
                        leaveWords: baseData.leaveWords || [],
                        evaluations: baseData.evaluations || []
                    });
                } else {
                    wx.showToast({ title: '咨询师信息加载失败', icon: 'none' });
                }
            },
            fail: (err) => {
                console.error("咨询师信息请求失败：", err);
                wx.showToast({ title: '网络错误', icon: 'none' });
            }
        });
    },

    // 2. 获取咨询师课程列表（修改为调用分页接口）
    getCounselorCourses(counselorId) {
        wx.request({
            url: `${this.data.baseUrl}/course/page`,
            method: 'GET',
            data: {
                pageNum: 1,
                pageSize: 10,
                counselorId: counselorId // 传递咨询师ID
            },
            success: (res) => {
                console.log("咨询师课程返回：", res.data);
                if (res.data.code === 200 && res.data.data) {
                    // 分页接口返回格式通常为 {data: {list: [...], total: ...}}
                    let courses = res.data.data.list || [];
                    // 处理课程图片路径
                    courses.forEach(course => {
                        course.simplifyImage = this.handleImageUrl(course.simplifyImage);
                    });
                    this.setData({ courses });
                } else {
                    wx.showToast({ title: '课程数据加载失败', icon: 'none' });
                }
            },
            fail: (err) => {
                console.error("课程请求失败：", err);
                wx.showToast({ title: '课程请求失败', icon: 'none' });
            }
        });
    },

    // 3. 获取咨询师文章列表（修改为调用分页接口）
    getCounselorArticles(counselorId) {
        wx.request({
            url: `${this.data.baseUrl}/article/page`,
            method: 'GET',
            data: {
                pageNum: 1,
                pageSize: 10,
                counselorId: counselorId // 传递咨询师ID
            },
            success: (res) => {
                console.log("咨询师文章返回：", res.data);
                if (res.data.code === 200 && res.data.data) {
                    // 分页接口返回格式通常为 {data: {list: [...], total: ...}}
                    let articles = res.data.data.list || [];
                    // 处理文章图片路径
                    articles.forEach(article => {
                        article.briefImageUrl = this.handleImageUrl(article.briefImageUrl);
                    });
                    this.setData({ articles });
                } else {
                    wx.showToast({ title: '文章数据加载失败', icon: 'none' });
                }
            },
            fail: (err) => {
                console.error("文章请求失败：", err);
                wx.showToast({ title: '文章请求失败', icon: 'none' });
            }
        });
    },

    // 查看证书
    viewCertificate() {
        const certificateUrl = this.handleImageUrl(this.data.counselorInfo.certificateUrl);
        if (certificateUrl) {
            wx.previewImage({ urls: [certificateUrl], current: certificateUrl });
        } else {
            wx.showToast({ title: '暂无证书', icon: 'none' });
        }
    },

});